// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:04

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   mp.java

package com.zelix;

import java.util.*;

// Referenced classes of package com.zelix:
//            yc, ht, it, fh, 
//            dd, bc, m5, dp, 
//            ep, n5, re, lt, 
//            mu, mt, kt, iu, 
//            ou, lx, px, qb, 
//            fy, wu, qy, tb, 
//            hp, um, ko, nh

public final class mp
{

    private final fy a;
    private final fy n;
    final ep b;
    private hp c;
    private final ht d;
    private final mt e[];
    private final it f;
    private final um l;
    private final dd g;
    private final re h;
    private final boolean o;
    private final Hashtable i;
    private final int j;
    private boolean m;
    private Runtime k;
    private static String z[];

    mp(dd dd1, re re1, boolean flag, it it1, mt amt[], ht ht1, ko ko, 
            um um, int i1, boolean flag1, Hashtable hashtable, fy fy1, fy fy2, nh nh)
        throws qb, bc
    {
        k = Runtime.getRuntime();
        b = new ep(it1, ht1, ko, um, amt.length, flag1, nh);
        d = ht1;
        e = amt;
        f = it1;
        l = um;
        j = i1;
        m = flag1;
        g = dd1;
        h = re1;
        o = flag;
        i = hashtable;
        a = fy1;
        n = fy2;
    }

    public String a(String s, m5 m5_1)
    {
        dp dp1;
        boolean flag;
        flag = tb.b;
        dp1 = null;
        if(!(m5_1 instanceof dp)) goto _L2; else goto _L1
_L1:
        dp1 = (dp)n.b(s, m5_1);
          goto _L3
_L2:
        if(!(m5_1 instanceof n5)) goto _L3; else goto _L4
_L4:
        n5 n5_1;
        Hashtable hashtable;
        n5_1 = (n5)m5_1;
        hashtable = n.b(s);
        if(hashtable == null) goto _L3; else goto _L5
_L5:
        Iterator iterator = hashtable.entrySet().iterator();
        if(!flag) goto _L7; else goto _L6
_L6:
        java.util.Map.Entry entry = (java.util.Map.Entry)iterator.next();
        dp dp2 = (dp)entry.getKey();
        if(n5_1.a(dp2))
        {
            dp1 = (dp)entry.getValue();
            break; /* Loop/switch isn't completed */
        }
_L7:
        if(iterator.hasNext()) goto _L6; else goto _L3
_L3:
        if(dp1 != null)
            return dp1.c();
        else
            return m5_1.c();
    }

    String a(String s, dp dp1)
    {
        return (String)a.b(s, dp1);
    }

    private boolean a(String s)
    {
        int i1 = s.length();
        return i1 <= 2 || i1 == 3 && s.charAt(2) >= 'b' && s.charAt(2) <= 'd';
    }

    private boolean a(fh fh1, dp dp1, dp dp2, ou ou1)
    {
        if(fh1.v())
            return b.b(fh1, dp2, dp1);
        else
            return b.a(fh1, dp2, dp1, ou1);
    }

    private void a(Vector vector, dp dp1, String s)
    {
        int i1;
        boolean flag;
        flag = tb.b;
        i1 = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        fh fh1 = (fh)vector.elementAt(i1);
        String s1 = fh1.d();
        dp dp2 = h.a(s1, dp1);
        if(dp2 != null)
        {
            h.e(s1, dp1);
            h.x(z[4] + dp1.b(i) + z[6] + dp2.c() + z[5] + lt.a((String)px.a(s1, i)) + z[3] + s + z[2]);
        }
        i1++;
_L2:
        if(i1 >= vector.size())
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    void a(hp hp, Hashtable hashtable, Hashtable hashtable1)
    {
        Hashtable hashtable2;
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        c = hp;
        if(h != null)
            c();
        hashtable2 = new Hashtable();
        enumeration = g.g();
        if(!flag) goto _L2; else goto _L1
_L1:
        ou ou1 = (ou)enumeration.nextElement();
        String s = ou1.j();
        dp dp1 = ou1.O();
        lt lt1 = b.b(s, dp1);
        if(lt1 != null && !lt1.j().equals(s))
        {
            fh fh3 = fh.b(lt1.j());
            if(fh3 == null || !fh3.w())
                continue; /* Loop/switch isn't completed */
            mt mt2 = fh3.c();
            ou ou2 = f.a(mt2, dp1);
            g.a(ou2, ou1, hashtable1);
            g.b(ou1);
            hashtable2.put(ou2, ou2);
            if(!flag)
                continue; /* Loop/switch isn't completed */
        }
        hashtable2.put(ou1, ou1);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        enumeration = g.g();
        if(!flag) goto _L5; else goto _L4
_L4:
        Object obj;
        dp dp2;
        fh fh1;
        Vector vector;
        int i2;
        obj = (ou)enumeration.nextElement();
        mt mt1 = (mt)((kt) (obj)).h();
        dp2 = ((mu) (obj)).O();
        fh1 = fh.b(mt1.j());
        if(!mt1.E())
            continue; /* Loop/switch isn't completed */
        wu wu1 = b.a(fh1, dp2);
        if(wu1 == null)
            continue; /* Loop/switch isn't completed */
        vector = (Vector)wu1.a();
        i2 = 0;
        if(!flag) goto _L7; else goto _L6
_L6:
        fh fh5 = (fh)vector.elementAt(i2);
        if(fh5 != fh1)
        {
            ou ou3 = f.a(fh5.c(), dp2);
            if(ou3 != null)
                g.a(ou3, ((ou) (obj)), hashtable1);
        }
        i2++;
_L7:
        if(i2 < vector.size()) goto _L6; else goto _L5
_L5:
        if(enumeration.hasMoreElements()) goto _L4; else goto _L8
_L8:
        int i1;
        int j1;
label0:
        {
            if(h == null)
                break label0;
            if(!o)
            {
                g.a(h, b, hashtable1);
                if(!flag)
                    break label0;
            }
            h.b(g, hashtable1, f);
        }
        a(hashtable2);
        b();
        obj = d.i();
        i1 = ((Vector) (obj)).size();
        j1 = 0;
        if(!flag) goto _L10; else goto _L9
_L9:
        fh fh2 = (fh)((Vector) (obj)).elementAt(j1);
        if(fh2.c().E())
        {
            Hashtable hashtable3 = new Hashtable();
            Hashtable hashtable4 = new Hashtable();
            qy qy1 = new qy(15);
            fh2.a(g, h, this, b, hp, hashtable3, qy1, j, hashtable4, m, hashtable1);
        }
        j1++;
_L10:
        if(j1 < i1) goto _L9; else goto _L11
_L11:
        int k1 = 0;
        if(!flag) goto _L13; else goto _L12
_L12:
        fh fh4 = (fh)((Vector) (obj)).elementAt(k1);
        if(!fh4.c().E())
        {
            Hashtable hashtable5 = new Hashtable();
            Hashtable hashtable6 = new Hashtable();
            qy qy2 = new qy(15);
            fh4.a(g, h, this, b, hp, hashtable5, qy2, j, hashtable6, m, hashtable1);
        }
        k1++;
_L13:
        if(k1 < i1) goto _L12; else goto _L14
_L14:
        int l1 = 0;
        if(!flag) goto _L16; else goto _L15
_L15:
        e[l1].nb();
        l1++;
_L16:
        if(l1 >= e.length)
        {
            f.i();
            return;
        }
        if(true) goto _L15; else goto _L17
_L17:
    }

    public final void a(fh fh1, mt mt1, ou ou1)
    {
label0:
        {
            String s = mt1.j();
            dp dp1 = ou1.O();
            dp dp2 = h.a(s, dp1);
            if(dp2 == null)
                break label0;
            if(b.b(dp2))
            {
                if((!m || dp2.equals(dp1)) && (m || dp2.a().equals(dp1.a())))
                    break label0;
                String s1 = (String)i.get(s);
                if(s1 == null)
                    s1 = s;
                h.x(z[10] + dp1.b(i) + z[8] + lt.a(s1) + z[9] + dp2.c() + z[7]);
                h.e(s, dp1);
                if(!tb.b)
                    break label0;
            }
            if(!a(fh1, dp1, dp2, ou1))
            {
                String s2 = (String)i.get(s);
                if(s2 == null)
                    s2 = s;
                h.x(z[10] + dp1.b(i) + z[8] + lt.a(s2) + z[9] + dp2.c() + z[11]);
                h.e(s, dp1);
            }
        }
    }

    private void a(Hashtable hashtable)
    {
        Enumeration enumeration;
        boolean flag2;
        flag2 = tb.b;
        enumeration = hashtable.keys();
        if(!flag2) goto _L2; else goto _L1
_L1:
        ou ou1 = (ou)enumeration.nextElement();
        dp dp1 = ou1.O();
        lt lt1 = (lt)ou1.n();
        if(!lt1.E())
            continue; /* Loop/switch isn't completed */
        String s = lt1.j();
        String s2 = dp1.c();
        if(a(s2))
        {
            fh fh1 = fh.b(s);
            boolean flag = b.b(fh1, dp1, dp1);
            if(flag)
                continue; /* Loop/switch isn't completed */
            b.a(dp1);
            if(!flag2)
                continue; /* Loop/switch isn't completed */
        }
        b.a(dp1);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        enumeration = hashtable.keys();
        if(!flag2) goto _L5; else goto _L4
_L4:
        ou ou2 = (ou)enumeration.nextElement();
        dp dp2 = ou2.O();
        lt lt2 = (lt)ou2.n();
        if(lt2.E())
            continue; /* Loop/switch isn't completed */
        String s1 = lt2.j();
        String s3 = dp2.c();
        if(a(s3))
        {
            fh fh2 = fh.b(s1);
            boolean flag1 = b.a(fh2, dp2, dp2, ou2);
            if(flag1)
                continue; /* Loop/switch isn't completed */
            b.a(dp2);
            if(!flag2)
                continue; /* Loop/switch isn't completed */
        }
        b.a(dp2);
_L5:
        if(enumeration.hasMoreElements()) goto _L4; else goto _L6
_L6:
    }

    private void a(wu wu1, dp dp1)
    {
        boolean flag1 = tb.b;
        Vector vector = (Vector)wu1.a();
        dp dp2 = null;
        for(int i1 = 0; i1 < vector.size(); i1++)
        {
            fh fh1 = (fh)vector.elementAt(i1);
            dp dp3 = h.a(fh1.d(), dp1);
            if(dp3 == null)
                continue;
            if(dp2 == null)
            {
                dp2 = dp3;
                if(!flag1)
                    continue;
            }
            if(dp3.equals(dp2))
                continue;
            a(vector, dp1, z[0]);
            dp2 = null;
            break;
        }

        if(dp2 != null)
        {
            boolean flag = b.a(wu1, dp2, dp1);
            if(!flag)
                a(vector, dp1, z[1]);
        }
    }

    private void b()
    {
        Hashtable hashtable;
        Enumeration enumeration;
        boolean flag;
        flag = tb.b;
        if(h == null)
            return;
        hashtable = b.a();
        enumeration = hashtable.keys();
        if(!flag) goto _L2; else goto _L1
_L1:
        wu wu1 = (wu)enumeration.nextElement();
        dp dp1 = (dp)hashtable.get(wu1);
        a(wu1, dp1);
_L2:
        if(enumeration.hasMoreElements()) goto _L1; else goto _L3
_L3:
        Vector vector;
        int i1;
        int j1;
        vector = d.i();
        i1 = vector.size();
        j1 = 0;
        if(!flag) goto _L5; else goto _L4
_L4:
        fh fh1 = (fh)vector.elementAt(j1);
        if(fh1.v())
            fh1.a(this);
        j1++;
_L5:
        if(j1 < i1) goto _L4; else goto _L6
_L6:
        int k1 = 0;
        if(!flag) goto _L8; else goto _L7
_L7:
        fh fh2 = (fh)vector.elementAt(k1);
        if(!fh2.v())
            fh2.a(this);
        k1++;
_L8:
        if(k1 >= i1)
            return;
        if(true) goto _L7; else goto _L9
_L9:
    }

    public dp a(String s, dp dp1, String s1)
    {
        String s2 = dp1.b();
        dp dp2 = new dp(s1, s2);
        a.b(s, dp1, s1);
        dp dp3 = (dp)n.b(s, dp2, dp1);
        if(dp3 != null)
            lx.b(false, z[14] + lt.a((String)px.a(s, i)) + z[15] + dp1.b(i) + z[17] + dp3.b(i) + z[16] + dp2.c() + z[2]);
        return dp2;
    }

    public final void b(fh fh1, mt mt1, ou ou1)
    {
label0:
        {
            String s = mt1.j();
            dp dp1 = ou1.O();
            dp dp2 = h.a(s, dp1);
            if(dp2 == null || ou1.D() || ou1.A())
                break label0;
            lt lt1 = b.b(fh1.d(), dp1);
            if(lt1 == null)
                break label0;
            fh fh2 = fh.b(lt1.j());
            if(fh2 != null && fh2.w())
            {
                dp2 = h.a(s, lt1.j(), dp1, dp2, i);
                if(!tb.b)
                    break label0;
            }
            if(!dp1.equals(dp2))
            {
                String s1 = (String)i.get(s);
                if(s1 == null)
                    s1 = s;
                h.x(z[10] + dp1.b(i) + z[8] + lt.a(s1) + z[9] + dp2.c() + z[13] + lt1.l() + z[12]);
                h.e(s, dp1);
            }
        }
    }

    private void c()
    {
        Vector vector;
        int i1;
        int j1;
        boolean flag;
        flag = tb.b;
        if(h == null)
            return;
        vector = d.i();
        i1 = vector.size();
        j1 = 0;
        if(!flag) goto _L2; else goto _L1
_L1:
        fh fh1 = (fh)vector.elementAt(j1);
        if(fh1.v())
            fh1.b(this);
        j1++;
_L2:
        if(j1 < i1) goto _L1; else goto _L3
_L3:
        int k1 = 0;
        if(!flag) goto _L5; else goto _L4
_L4:
        fh fh2 = (fh)vector.elementAt(k1);
        if(!fh2.v())
            fh2.b(this);
        k1++;
_L5:
        if(k1 >= i1)
            return;
        if(true) goto _L4; else goto _L6
_L6:
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x5a;
                    break;
                case 1:
                    key = 73;
                    break;
                case 2:
                    key = 114;
                    break;
                case 3:
                    key = 122;
                    break;
                default:
                    key = 40;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[];
        as = new String[18];
        as[0] = "9%\023\t@3'\025ZE;9\002\023F=:R\023Fz+\027\016_?,\034ZZ?%\023\016M>i\033\024\\?;\024\033K?:";
        as[1] = "9%\023\t@3'\025ZE;9\002\023F=:R\023Fz+\027\016_?,\034ZZ?%\023\016M>i\033\024\\?;\024\033K?i\001\037\\)";
        as[2] = "}g";
        as[3] = "}i\020\037K;<\001\037\b5/R]";
        as[4] = "\031&\007\026Lz'\035\016\b(,\034\033E?i\037\037\\2&\026Z\017";
        as[5] = "z \034ZA4=\027\bN;*\027Z\017";
        as[6] = "}i\006\025\b}";
        as[7] = "}i\020\037K;<\001\037\b5/R\033\b*&\001\tA8%\027ZF;$\027ZK6(\001\022\006";
        as[8] = "}i\033\024\b9%\023\t[zn";
        as[9] = "}i\021\025]6-R\024G.i\020\037\b(,\034\033E?-R\016Gzn";
        as[10] = "\027,\006\022G>iU";
        as[11] = "}i\020\037K;<\001\037\b5/R\033\b4(\037\037\b9%\023\t@t";
        as[12] = "}i\005\022A9!R\022I)i\034\025\\z+\027\037Fz&\002\037F?-\\";
        as[13] = "}i\020\037K;<\001\037\b4&\005ZG,,\000\bA>,\001ZIz$\027\016@5-R\023Fzn";
        as[14] = "\036<\002\026A9(\006\037\b7,\006\022G>i\034\033E?i\033\024\b9%\023\t[z";
        as[15] = "ti0\025\\2i";
        as[16] = "z;\027\024I7,\026Z\\5iU";
        as[17] = "z(\034\036\b";
        for (int i = 0; i < as.length; i++) {
            as[i] = z(as[i].toCharArray());
        }
        z = as;

    }
}